package com.wc.fortnight_blue_bridge.Q16模拟二.C_异或;

/**
 * @Author congge
 * @Date 2024/11/23 21:33
 * @description
 * https://dasai.lanqiao.cn/pages/v7/dasai/prelim/prelim_examing.html?examUsperPaperId=338843&applyId=579285787961
 */
public class Main {
    /**
     * 【问题描述】
     * 两个数按位异或是指将这两个数转换成二进制后，最低位与最低位异或作为结果的最低位，次低位与次低位异或作为结果的次低位，以此类推。
     * 例如，3 与 5 按位异或值为 6 。
     * 请问，有多少个不超过 2024 的正整数，与 2024 异或后结果小于 2024 。
     */
    static int n = 2024;

    public static void main(String[] args) {
        int res = 0;
        for (int i = 1; i <= n; i ++){
            if ((i ^ n) < n) res++;
        }
        System.out.println(res);
    }
}
